#include "sprit.hpp"

Sprit::Sprit()
{
  face=NULL;
  x=y=frame=current_frame=speed=0;
  print=false;
}

Sprit::Sprit(string a)
{
  x=y=frame=current_frame=speed=0;
  face=load_image(a);
  print=false;
}

Sprit::Sprit(string a,int xp,int yp,int f,int c_f,int s)
{
  face=load_image(a);
  x=xp;
  y=yp;
  frame=f;
  current_frame=c_f;
  speed=s;
  print=false;
}

Sprit::~Sprit()
{
  if(face)
    {
      SDL_FreeSurface(face);
      delete face;
    }
}

SDL_Surface* Sprit::get_face()
{
  return face;
}

int Sprit::get_x()
{
  return x;
}

int Sprit::get_y()
{
  return y;
}

int Sprit::get_frame()
{
  return frame;
}

int Sprit::get_current_frame()
{
  return current_frame;
}

int Sprit::get_speed()
{
  return speed;
}

bool Sprit::get_print()
{
  return print;
}

void Sprit::set_face(SDL_Surface* f)
{
  face=f;
}

void Sprit::set_face(string a)
{
  face=load_image(a);
}

void Sprit::set_x(int xp)
{
  x=xp;
}

void Sprit::set_y(int yp)
{
  y=yp;
}

void Sprit::set_frame(int f)
{
  frame=f;
}

void Sprit::set_current_frame(int f)
{
  current_frame=f;
}

void Sprit::set_speed(int s)
{
  speed=s;
}

void Sprit::set_print(bool p)
{
  print=p;
}

void Sprit::change_print()
{
  print=!print;
}

void Sprit::afficher_sprit(Ecran *e)
{
  if(print)
    e->afficher(x,y,face);
}
